package top.lixunda.ecommerce.server.good.api.entity.db;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 页面数据保存通用结构
 * </p>
 *
 * @author Xumda
 * @since 2020-03-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("page_info_show")
@ApiModel(value="PageInfoShowDO对象", description="页面数据保存通用结构")
public class PageInfoShowDO extends Model<PageInfoShowDO> {

    private static final long serialVersionUID=1L;

    public static final String USER_TYPE_NORMAL = "USER";

    public static final String USER_TYPE_STORE = "STORE";

    public static final String USER_TYPE_ADMIN = "ADMIN";

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "页面名称")
    @TableField("page")
    private String page;

    @ApiModelProperty(value = "页面模块名称")
    @TableField("module")
    private String module;

    @ApiModelProperty(value = "位置")
    @TableField("position")
    private String position;

    @ApiModelProperty(value = "类型")
    @TableField("type")
    private String type;

    @ApiModelProperty(value = "链接属性")
    @TableField("link")
    private String link;

    @ApiModelProperty(value = "顺序号")
    @TableField("sequence")
    private Integer sequence;

    @ApiModelProperty(value = "图片")
    @TableField(value = "image1", updateStrategy = FieldStrategy.NOT_NULL)
    private String image1;

    @ApiModelProperty(value = "图片")
    @TableField(value = "image2", updateStrategy = FieldStrategy.NOT_NULL)
    private String image2;

    @ApiModelProperty(value = "图片")
    @TableField(value = "image3", updateStrategy = FieldStrategy.NOT_NULL)
    private String image3;

    @ApiModelProperty(value = "图片详情信息编号")
    @TableField(value = "image_file1", updateStrategy = FieldStrategy.NOT_NULL)
    private Integer imageFile1;

    @ApiModelProperty(value = "图片详情信息编号")
    @TableField(value = "image_file2", updateStrategy = FieldStrategy.NOT_NULL)
    private Integer imageFile2;

    @ApiModelProperty(value = "图片详情信息编号")
    @TableField(value = "image_file3", updateStrategy = FieldStrategy.NOT_NULL)
    private Integer imageFile3;

    @ApiModelProperty(value = "自定义属性")
    @TableField(value = "content1", updateStrategy = FieldStrategy.NOT_NULL)
    private String content1;

    @ApiModelProperty(value = "自定义属性")
    @TableField(value = "content2", updateStrategy = FieldStrategy.NOT_NULL)
    private String content2;

    @ApiModelProperty(value = "自定义属性")
    @TableField(value = "content3", updateStrategy = FieldStrategy.NOT_NULL)
    private String content3;

    @ApiModelProperty(value = "自定义属性")
    @TableField(value = "content4", updateStrategy = FieldStrategy.NOT_NULL)
    private String content4;

    @ApiModelProperty(value = "自定义属性")
    @TableField(value = "content5", updateStrategy = FieldStrategy.NOT_NULL)
    private String content5;

    @ApiModelProperty(value = "自定义属性")
    @TableField(value = "content6", updateStrategy = FieldStrategy.NOT_NULL)
    private String content6;

    @ApiModelProperty(value = "创建人员编号")
    @TableField("create_user_id")
    private Integer createUserId;

    @ApiModelProperty(value = "创建人员类型")
    @TableField("create_user_type")
    private String createUserType;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "创建人员名称")
    @TableField("create_user_name")
    private String createUserName;

    @ApiModelProperty(value = "更新人员编号")
    @TableField("update_user_id")
    private Integer updateUserId;

    @ApiModelProperty(value = "更新人员名称")
    @TableField("update_user_name")
    private String updateUserName;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private LocalDateTime updateTime;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
